
<!DOCTYPE HTML>
<html lang="zh-hans" >
    <head>
        <meta charset="UTF-8">
        <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
        <title>FTP · AGou's StudyNote</title>
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="description" content="">
        <meta name="generator" content="GitBook 3.2.3">
        <meta name="author" content="AGou">
        
        
    
    <link rel="stylesheet" href="../gitbook/style.css">

    
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-anchors/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-tbfed-pagefooter/footer.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-anchor-navigation-ex/style/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-prism/prism-tomorrow.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-insert-logo/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-search-pro/search.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-splitter/splitter.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-lightbox/css/lightbox.min.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-donate/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-code/plugin.css">
                
            
                
                <link rel="stylesheet" href="../gitbook/gitbook-plugin-fontsettings/website.css">
                
            
        

    

    
        
    
        
    
        
    
        
    
        
    
        
    

        
    
    
    
    <meta name="HandheldFriendly" content="true"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no">
    <meta name="apple-mobile-web-app-capable" content="yes">
    <meta name="apple-mobile-web-app-status-bar-style" content="black">
    <link rel="apple-touch-icon-precomposed" sizes="152x152" href="../gitbook/images/apple-touch-icon-precomposed-152.png">
    <link rel="shortcut icon" href="../gitbook/images/favicon.ico" type="image/x-icon">

    
    <link rel="next" href="SAMBA.html" />
    
    
    <link rel="prev" href="./" />
    

    <style>
    @media only screen and (max-width: 640px) {
        .book-header .hidden-mobile {
            display: none;
        }
    }
    </style>
    <script>
        window["gitbook-plugin-github-buttons"] = {"repo":"AGou-ops/myStudyNote","types":["star","watch","fork"],"size":"small"};
    </script>

    </head>
    <body>
        
<div class="book">
    <div class="book-summary">
        
            
<div id="book-search-input" role="search">
    <input type="text" placeholder="输入并搜索" />
</div>

            
                <nav role="navigation">
                


<ul class="summary">
    
    
    
        
        <li>
            <a href="http://agou-ops.github.io" target="_blank" class="custom-link">◆点击进入我的个人博客</a>
        </li>
    
    

    
    <li class="divider"></li>
    

    
        
        
    
        <li class="chapter " data-level="1.1" data-path="../">
            
                <a href="../">
            
                    
                        <b>1.1.</b>
                    
                    关于我
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2" data-path="../Program_lang/">
            
                <a href="../Program_lang/">
            
                    
                        <b>1.2.</b>
                    
                    编程语言
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.2.1" data-path="../Program_lang/Python.html">
            
                <a href="../Program_lang/Python.html">
            
                    
                        <b>1.2.1.</b>
                    
                    Python
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.2" data-path="../Program_lang/Java.html">
            
                <a href="../Program_lang/Java.html">
            
                    
                        <b>1.2.2.</b>
                    
                    Java
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.2.3" data-path="../Program_lang/Splash_Lua.html">
            
                <a href="../Program_lang/Splash_Lua.html">
            
                    
                        <b>1.2.3.</b>
                    
                    Splash_Lua
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.3" data-path="../Database/">
            
                <a href="../Database/">
            
                    
                        <b>1.3.</b>
                    
                    数据库
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1" data-path="../Database/Mysql、MariaDB/README.md">
            
                <span>
            
                    
                        <b>1.3.1.</b>
                    
                    Mysql/MariaDB
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.3.1.1" data-path="../Database/Mysql、MariaDB/MySQL、MariaDB基础.html">
            
                <a href="../Database/Mysql、MariaDB/MySQL、MariaDB基础.html">
            
                    
                        <b>1.3.1.1.</b>
                    
                    MySQL/MariaDB基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.1.2" data-path="../Database/Mysql、MariaDB/php-mysql.html">
            
                <a href="../Database/Mysql、MariaDB/php-mysql.html">
            
                    
                        <b>1.3.1.2.</b>
                    
                    php-mysql
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.3.2" data-path="../Database/MongoDB.html">
            
                <a href="../Database/MongoDB.html">
            
                    
                        <b>1.3.2.</b>
                    
                    MongoDB
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.3.3" data-path="../Database/Redis.html">
            
                <a href="../Database/Redis.html">
            
                    
                        <b>1.3.3.</b>
                    
                    Redis
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.4" data-path="../Linux/">
            
                <a href="../Linux/">
            
                    
                        <b>1.4.</b>
                    
                    Linux
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.4.1" data-path="../Linux/Linux基础.html">
            
                <a href="../Linux/Linux基础.html">
            
                    
                        <b>1.4.1.</b>
                    
                    Linux基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.2" data-path="../Linux/Linux启动流程、内核、grub、模块、内核的编译、anaconda自动化.html">
            
                <a href="../Linux/Linux启动流程、内核、grub、模块、内核的编译、anaconda自动化.html">
            
                    
                        <b>1.4.2.</b>
                    
                    Linux启动流程、内核、grub、模块等
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.3" data-path="../Linux/Linux服务器.html">
            
                <a href="../Linux/Linux服务器.html">
            
                    
                        <b>1.4.3.</b>
                    
                    Linux服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.4" data-path="../Linux/Linux状态信息.html">
            
                <a href="../Linux/Linux状态信息.html">
            
                    
                        <b>1.4.4.</b>
                    
                    Linux状态信息
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.5" data-path="../Linux/Linux网络客户端工具.html">
            
                <a href="../Linux/Linux网络客户端工具.html">
            
                    
                        <b>1.4.5.</b>
                    
                    Linux网络客户端工具
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.6" data-path="../Linux/Linux网络配置.html">
            
                <a href="../Linux/Linux网络配置.html">
            
                    
                        <b>1.4.6.</b>
                    
                    Linux网络配置
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.7" data-path="../Linux/Linux配置文件.md">
            
                <span>
            
                    
                        <b>1.4.7.</b>
                    
                    Linux配置文件
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.8" data-path="../Linux/Linux时间服务器.html">
            
                <a href="../Linux/Linux时间服务器.html">
            
                    
                        <b>1.4.8.</b>
                    
                    Linux时间服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.9" data-path="../Linux/Linux日志管理系统.html">
            
                <a href="../Linux/Linux日志管理系统.html">
            
                    
                        <b>1.4.9.</b>
                    
                    Linux日志管理系统
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.10" data-path="../Linux/sudo详解.html">
            
                <a href="../Linux/sudo详解.html">
            
                    
                        <b>1.4.10.</b>
                    
                    sudo详解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.11" data-path="../Linux/SElinux.html">
            
                <a href="../Linux/SElinux.html">
            
                    
                        <b>1.4.11.</b>
                    
                    SELinux
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.12" data-path="../Linux/iptables.html">
            
                <a href="../Linux/iptables.html">
            
                    
                        <b>1.4.12.</b>
                    
                    iptables
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.13" data-path="../Linux/Linux_shell.html">
            
                <a href="../Linux/Linux_shell.html">
            
                    
                        <b>1.4.13.</b>
                    
                    Linux Shell
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.14" data-path="../Linux/shell_awk.html">
            
                <a href="../Linux/shell_awk.html">
            
                    
                        <b>1.4.14.</b>
                    
                    shell_awk
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.15" data-path="../Linux/OpenSSL、PKI搭建、算法.html">
            
                <a href="../Linux/OpenSSL、PKI搭建、算法.html">
            
                    
                        <b>1.4.15.</b>
                    
                    OpenSSL、PKI搭建
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.16" data-path="../Linux/DNS服务器.html">
            
                <a href="../Linux/DNS服务器.html">
            
                    
                        <b>1.4.16.</b>
                    
                    DNS服务器
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.17" data-path="../Linux/Frp内网穿透.html">
            
                <a href="../Linux/Frp内网穿透.html">
            
                    
                        <b>1.4.17.</b>
                    
                    Frp内网穿透
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.4.18" data-path="../Linux/Linux其他.md">
            
                <span>
            
                    
                        <b>1.4.18.</b>
                    
                    Linux其他
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.5" data-path="./">
            
                <a href="./">
            
                    
                        <b>1.5.</b>
                    
                    Linux文件系统
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter active" data-level="1.5.1" data-path="FTP.html">
            
                <a href="FTP.html">
            
                    
                        <b>1.5.1.</b>
                    
                    FTP
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.5.2" data-path="SAMBA.html">
            
                <a href="SAMBA.html">
            
                    
                        <b>1.5.2.</b>
                    
                    SAMBA
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.6" data-path="../Linux_Tools/">
            
                <a href="../Linux_Tools/">
            
                    
                        <b>1.6.</b>
                    
                    Linux工具
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.6.1" data-path="../Linux_Tools/fzf工具.html">
            
                <a href="../Linux_Tools/fzf工具.html">
            
                    
                        <b>1.6.1.</b>
                    
                    fzf工具
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.6.2" data-path="../Linux_Tools/工具集合.html">
            
                <a href="../Linux_Tools/工具集合.html">
            
                    
                        <b>1.6.2.</b>
                    
                    Linux工具集合
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.7" data-path="../WEB_Server/">
            
                <a href="../WEB_Server/">
            
                    
                        <b>1.7.</b>
                    
                    网站服务器
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.7.1" data-path="../WEB_Server/HTML基础.html">
            
                <a href="../WEB_Server/HTML基础.html">
            
                    
                        <b>1.7.1.</b>
                    
                    HTML基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.2" data-path="../WEB_Server/WEB基础.html">
            
                <a href="../WEB_Server/WEB基础.html">
            
                    
                        <b>1.7.2.</b>
                    
                    WEB基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.3" data-path="../WEB_Server/httpd.html">
            
                <a href="../WEB_Server/httpd.html">
            
                    
                        <b>1.7.3.</b>
                    
                    httpd/Apache
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.4" data-path="../WEB_Server/httpd.conf文件详解.html">
            
                <a href="../WEB_Server/httpd.conf文件详解.html">
            
                    
                        <b>1.7.4.</b>
                    
                    httpd.conf文件详解
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.5" data-path="../WEB_Server/Nginx.html">
            
                <a href="../WEB_Server/Nginx.html">
            
                    
                        <b>1.7.5.</b>
                    
                    Nginx
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.7.6" data-path="../WEB_Server/HTTP状态码-详情.html">
            
                <a href="../WEB_Server/HTTP状态码-详情.html">
            
                    
                        <b>1.7.6.</b>
                    
                    HTTP状态码-详情
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.8" data-path="../Common_Framework/">
            
                <a href="../Common_Framework/">
            
                    
                        <b>1.8.</b>
                    
                    常用框架
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.8.1" data-path="../Common_Framework/LNMP.html">
            
                <a href="../Common_Framework/LNMP.html">
            
                    
                        <b>1.8.1.</b>
                    
                    LNMP
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.8.2" data-path="../Common_Framework/LAMP.html">
            
                <a href="../Common_Framework/LAMP.html">
            
                    
                        <b>1.8.2.</b>
                    
                    LAMP
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9" data-path="../Docker&K8s/">
            
                <a href="../Docker&K8s/">
            
                    
                        <b>1.9.</b>
                    
                    容器及容器编排
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1" data-path="../Docker&K8s/Docker/Docker.html">
            
                <a href="../Docker&K8s/Docker/Docker.html">
            
                    
                        <b>1.9.1.</b>
                    
                    Docker
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.1.1" data-path="../Docker&K8s/Docker/Docker.html">
            
                <a href="../Docker&K8s/Docker/Docker.html">
            
                    
                        <b>1.9.1.1.</b>
                    
                    Docker
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.9.2" data-path="../Docker&K8s/K8s/">
            
                <a href="../Docker&K8s/K8s/">
            
                    
                        <b>1.9.2.</b>
                    
                    K8s
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.9.2.1" data-path="../Docker&K8s/K8s/K8s基础知识.html">
            
                <a href="../Docker&K8s/K8s/K8s基础知识.html">
            
                    
                        <b>1.9.2.1.</b>
                    
                    K8s基础知识
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.9.2.2" data-path="../Docker&K8s/K8s/K8s安装与部署.html">
            
                <a href="../Docker&K8s/K8s/K8s安装与部署.html">
            
                    
                        <b>1.9.2.2.</b>
                    
                    K8s安装与部署
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.10" data-path="../Git/">
            
                <a href="../Git/">
            
                    
                        <b>1.10.</b>
                    
                    Git
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.10.1" data-path="../Git/Git基础.html">
            
                <a href="../Git/Git基础.html">
            
                    
                        <b>1.10.1.</b>
                    
                    Git基础
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.10.2" data-path="../Git/GitLab服务器.html">
            
                <a href="../Git/GitLab服务器.html">
            
                    
                        <b>1.10.2.</b>
                    
                    GitLab服务器
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.11" data-path="../Windows/">
            
                <a href="../Windows/">
            
                    
                        <b>1.11.</b>
                    
                    Windows系统
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.11.1" data-path="../Windows/cmd命令.html">
            
                <a href="../Windows/cmd命令.html">
            
                    
                        <b>1.11.1.</b>
                    
                    cmd命令
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    
        <li class="chapter " data-level="1.12" data-path="../Vim.html">
            
                <a href="../Vim.html">
            
                    
                        <b>1.12.</b>
                    
                    Vim
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.13" data-path="../i3WM快捷键.html">
            
                <a href="../i3WM快捷键.html">
            
                    
                        <b>1.13.</b>
                    
                    i3WM快捷键
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.14" data-path="../ADB命令.html">
            
                <a href="../ADB命令.html">
            
                    
                        <b>1.14.</b>
                    
                    ADB命令
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.15" data-path="../Tmux.html">
            
                <a href="../Tmux.html">
            
                    
                        <b>1.15.</b>
                    
                    Tmux
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.16" data-path="../Kindle.html">
            
                <a href="../Kindle.html">
            
                    
                        <b>1.16.</b>
                    
                    Kindle越狱指南
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17" data-path="../Other/">
            
                <a href="../Other/">
            
                    
                        <b>1.17.</b>
                    
                    Other
            
                </a>
            

            
            <ul class="articles">
                
    
        <li class="chapter " data-level="1.17.1" data-path="../Other/pandoc.html">
            
                <a href="../Other/pandoc.html">
            
                    
                        <b>1.17.1.</b>
                    
                    pandoc
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17.2" data-path="../Other/jupyter&reveal.js.html">
            
                <a href="../Other/jupyter&reveal.js.html">
            
                    
                        <b>1.17.2.</b>
                    
                    jupyter & reveal.js
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17.3" data-path="../Other/json.html">
            
                <a href="../Other/json.html">
            
                    
                        <b>1.17.3.</b>
                    
                    json
            
                </a>
            

            
        </li>
    
        <li class="chapter " data-level="1.17.4" data-path="../Other/Reveal_js.html">
            
                <a href="../Other/Reveal_js.html">
            
                    
                        <b>1.17.4.</b>
                    
                    Reveal_js
            
                </a>
            

            
        </li>
    

            </ul>
            
        </li>
    

    

    <li class="divider"></li>

    <li>
        <a href="https://www.gitbook.com" target="blank" class="gitbook-link">
            本书使用 GitBook 发布
        </a>
    </li>
</ul>


                </nav>
            
        
    </div>

    <div class="book-body">
        
            <div class="body-inner">
                
                    

<div class="book-header" role="navigation">
    

    <!-- Title -->
    <h1>
        <i class="fa fa-circle-o-notch fa-spin"></i>
        <a href=".." >FTP</a>
    </h1>
</div>




                    <div class="page-wrapper" tabindex="-1" role="main">
                        <div class="page-inner">
                            
<div id="book-search-results">
    <div class="search-noresults">
    
                                <section class="normal markdown-section">
                                
                                <div id="anchor-navigation-ex-navbar"><i class="fa fa-anchor"></i><ul><li><a href="#vsftp&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;ftp&#x6570;&#x636E;&#x8FDE;&#x63A5;">1. vsFTP&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;FTP&#x6570;&#x636E;&#x8FDE;&#x63A5;</a></li><li><a href="#vsftp&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;">2. vsFTP&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;</a></li><li><a href="#vsftp&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;">3. vsFTP&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;</a></li><ul><li><a href="#&#x57FA;&#x672C;&#x9009;&#x9879;">3.1. &#x57FA;&#x672C;&#x9009;&#x9879;</a></li><li><a href="#&#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;">3.2. &#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;</a></li><li><a href="#&#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;">3.3. &#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;</a></li><li><a href="#&#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;">3.4. &#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;</a></li><li><a href="#&#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;">3.5. &#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;</a></li><li><a href="#&#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;">3.6. &#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;</a></li><li><a href="#&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;">3.7. &#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;</a></li><li><a href="#&#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528;-pammysqlso-&#x6A21;&#x5757;&#x8BA4;&#x8BC1;">3.8. &#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528; pam_mysql.so &#x6A21;&#x5757;&#x8BA4;&#x8BC1;</a></li></ul></ul></div><a href="#vsftp&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;ftp&#x6570;&#x636E;&#x8FDE;&#x63A5;" id="anchorNavigationExGoTop"><i class="fa fa-arrow-up"></i></a><blockquote>
<p><strong>This is FTP StudyNote.</strong></p>
</blockquote>
<h1 id="vsftp&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;ftp&#x6570;&#x636E;&#x8FDE;&#x63A5;"><a name="vsftp&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;ftp&#x6570;&#x636E;&#x8FDE;&#x63A5;" class="anchor-navigation-ex-anchor" href="#vsftp&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;ftp&#x6570;&#x636E;&#x8FDE;&#x63A5;"><i class="fa fa-link" aria-hidden="true"></i></a>1. vsFTP&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#x53CA;FTP&#x6570;&#x636E;&#x8FDE;&#x63A5;</h1>
<p>FTP&#x53EF;&#x4EE5;&#x6709;&#x4E09;&#x79CD;&#x767B;&#x5165;&#x65B9;&#x5F0F;&#x5206;&#x522B;&#x662F;&#xFF1A;</p>
<ul>
<li>&#x533F;&#x540D;(anonymous)&#x767B;&#x5F55;&#x65B9;&#x5F0F;&#xFF1A;&#x4E0D;&#x9700;&#x8981;&#x7528;&#x6237;&#x5BC6;&#x7801;&#xFF0C;&#x533F;&#x540D;&#x7528;&#x6237;&#x9ED8;&#x8BA4;&#x5168;&#x90E8;&#x90FD;&#x6620;&#x5C04;<code>ftp</code>&#x7528;&#x6237;&#xFF0C;&#x5176;&#x76EE;&#x5F55;&#x5728;<code>/var/ftp</code></li>
<li>&#x672C;&#x5730;&#x7528;&#x6237;&#x767B;&#x5165;&#xFF1A;&#x4F7F;&#x7528;&#x672C;&#x5730;&#x7528;&#x6237;&#x548C;&#x5BC6;&#x7801;&#x767B;&#x5165;&#xFF0C;&#x4F7F;&#x7528;&#x7684;&#x662F;<code>PAM</code>&#x8BA4;&#x8BC1;(<code>/etc/pam.d/vsftpd</code>)&#xFF0C;&#x5176;&#x9ED8;&#x8BA4;&#x76EE;&#x5F55;&#x4E3A;&#x7CFB;&#x7EDF;&#x7528;&#x6237;&#x7684;&#x5BB6;&#x76EE;&#x5F55;</li>
<li>&#x865A;&#x62DF;&#x7528;&#x6237;&#x65B9;&#x5F0F;&#xFF1A;&#x4E5F;&#x662F;&#x4F7F;&#x7528;&#x7528;&#x6237;&#x548C;&#x5BC6;&#x7801;&#x767B;&#x5165;&#xFF0C;&#x4F46;&#x662F;&#x8BE5;&#x7528;&#x6237;&#x4E0D;&#x662F;linux&#x4E2D;&#x521B;&#x5EFA;&#x7684;&#x7528;&#x6237;</li>
</ul>
<p>FTP&#x7684;&#x4E24;&#x4E2A;&#x8FDE;&#x63A5;&#xFF0C;&#x5206;&#x522B;&#x662F;<strong>&#x547D;&#x4EE4;&#x8FDE;&#x63A5;&#x548C;&#x6570;&#x636E;&#x8FDE;&#x63A5;</strong>&#xFF0C;&#x5176;&#x4E2D;&#x6570;&#x636E;&#x8FDE;&#x63A5;&#x7684;&#x5EFA;&#x7ACB;&#x65B9;&#x5F0F;&#x53C8;&#x5206;&#x4E3A;<strong>&#x4E3B;&#x52A8;&#x548C;&#x88AB;&#x52A8;</strong>&#x8FDE;&#x63A5;&#x4E24;&#x79CD;&#xFF1A;</p>
<blockquote>
<p>FTP&#x670D;&#x52A1;&#x7AEF;&#x4F1A;&#x76D1;&#x542C;2&#x4E2A;&#x7AEF;&#x53E3;, &#x63A7;&#x5236;&#x8FDB;&#x7A0B;20,&#x6570;&#x636E;&#x8FDB;&#x7A0B;21(&#x4E3B;&#x52A8;&#x6A21;&#x5F0F;) &#x6570;&#x636E;&#x8FDE;&#x63A5;,&#x7AD9;&#x5728;&#x670D;&#x52A1;&#x5668;&#x89D2;&#x5EA6;,&#x6709;2&#x79CD;&#x6A21;&#x5F0F;&#xFF1A;    </p>
<p>&#x4E3B;&#x52A8;&#x6A21;&#x5F0F;&#xFF1A;ftp server&#x4ECE;20&#x7AEF;&#x53E3;&#x4E3B;&#x52A8;&#x5411;&#x5BA2;&#x6237;&#x7AEF;&#x53D1;&#x8D77;&#x8FDE;&#x63A5;,&#x7531;&#x4E8E;&#x6E90;&#x7AEF;&#x53E3;&#x56FA;&#x5B9A;,&#x6240;&#x4EE5;&#x9002;&#x7528;&#x4E8E;&#x6A21;&#x5F0F;&#x9632;&#x706B;&#x5899;&#x6A21;&#x5F0F;.   </p>
<p>&#x88AB;&#x52A8;&#x6A21;&#x5F0F;&#xFF1A;ftp server&#x88AB;&#x52A8;&#x7B49;&#x5F85;&#x5BA2;&#x6237;&#x7AEF;&#x6765;&#x8FDE;&#x6211;&#x7684;&#x8FD9;&#x4E2A;&#x7AEF;&#x53E3;(&#x63A7;&#x5236;&#x8FDE;&#x63A5;&#x540E;&#x4F1A;&#x544A;&#x77E5;&#x4F1A;&#x5C06;passive ip/port&#x544A;&#x77E5;&#x4E86;&#x5BA2;&#x6237;&#x7AEF;) &#x4E00;&#x822C;&#x60C5;&#x51B5;&#x4E0B;&#x9ED8;&#x8BA4;&#x90FD;&#x662F;&#x88AB;&#x52A8;&#x6A21;&#x5F0F;</p>
</blockquote>
<h1 id="vsftp&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;"><a name="vsftp&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;" class="anchor-navigation-ex-anchor" href="#vsftp&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;"><i class="fa fa-link" aria-hidden="true"></i></a>2. vsFTP&#x5B89;&#x88C5;&#x53CA;&#x5176;&#x7A0B;&#x5E8F;&#x73AF;&#x5883;</h1>
<p>&#x6E90;&#x7801;&#x548C;&#x4E8C;&#x8FDB;&#x5236;&#x5305;&#x4E0B;&#x8F7D;&#x5730;&#x5740;&#xFF1A;<a href="https://pkgs.org/download/vsftpd" target="_blank">https://pkgs.org/download/vsftpd</a></p>
<pre class="language-"><code class="lang-bash">yum <span class="token function">install</span> -y vsftpd
</code></pre>
<p>&#x4E3B;&#x8981;&#x6587;&#x4EF6;&#x76EE;&#x5F55;&#xFF1A;</p>
<ul>
<li>&#x4E3B;&#x7A0B;&#x5E8F;&#xFF1A;<code>/usr/sbin/vsftp</code></li>
<li>&#x542F;&#x52A8;&#x811A;&#x672C;&#x6587;&#x4EF6;&#xFF1A;<code>/etc/rc.d/init.d/vsftpd</code></li>
<li>&#x7CFB;&#x7EDF;&#x670D;&#x52A1;&#x5355;&#x5143;&#x76EE;&#x5F55;&#xFF1A;<code>/usr/lib/systemd/system/vsftpd.service</code></li>
<li>&#x4E3B;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF1A;<code>/etc/vsftp/vsftp.conf</code></li>
<li><code>/etc/pam.d/vsftpd</code>&#xFF1A;PAM&#x8BA4;&#x8BC1;&#x6587;&#x4EF6;&#xFF08;&#x6B64;&#x6587;&#x4EF6;&#x4E2D;<code>file=/etc/vsftpd/ftpusers</code>&#x5B57;&#x6BB5;&#xFF0C;&#x6307;&#x660E;&#x963B;&#x6B62;&#x8BBF;&#x95EE;&#x7684;&#x7528;&#x6237;&#x6765;&#x81EA;&#x8BE5;&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#xFF09;</li>
<li><code>/etc/vsftpd/ftpusers</code>&#xFF1A;&#x7981;&#x6B62;&#x4F7F;&#x7528;vsftpd&#x7684;&#x7528;&#x6237;&#x5217;&#x8868;&#x6587;&#x4EF6;&#x3010;&#x9ED1;&#x540D;&#x5355;&#x3011;</li>
<li><code>/etc/vsftpd/user_list</code>&#xFF1A;&#x7981;&#x6B62;&#x6216;&#x5141;&#x8BB8;&#x4F7F;&#x7528;vsftpd&#x7684;&#x7528;&#x6237;&#x5217;&#x8868;&#x6587;&#x4EF6;&#xFF0C;&#x8FD9;&#x4E2A;&#x6587;&#x4EF6;&#x4E2D;&#x6307;&#x5B9A;&#x7684;&#x7528;&#x6237;&#x7F3A;&#x7701;&#x60C5;&#x51B5;&#xFF08;&#x5373;&#x5728;<code>/etc/vsftpd/vsftpd.conf</code>&#x4E2D;&#x8BBE;&#x7F6E;<code>userlist_deny=YES</code>&#xFF09;&#x4E0B;&#x4E5F;&#x4E0D;&#x80FD;&#x8BBF;&#x95EE;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x5728;&#x8BBE;&#x7F6E;&#x4E86;<code>userlist_deny=NO</code>&#x65F6;,&#x4EC5;&#x5141;&#x8BB8;user_list&#x4E2D;&#x6307;&#x5B9A;&#x7684;&#x7528;&#x6237;&#x8BBF;&#x95EE;FTP&#x670D;&#x52A1;&#x5668;</li>
<li>&#x533F;&#x540D;&#x7528;&#x6237;&#x6570;&#x636E;&#x6839;&#x76EE;&#x5F55;&#xFF1A;<code>/var/ftp</code></li>
<li>&#x533F;&#x540D;&#x7528;&#x6237;&#x7684;&#x4E0B;&#x8F7D;&#x4E0A;&#x4F20;&#x76EE;&#x5F55;&#xFF1A;<code>/var/ftp/pub</code>&#x6B64;&#x76EE;&#x5F55;&#x9700;&#x8D4B;&#x6743;&#x6839;chmod 1777 pub&#xFF08;1&#x4E3A;&#x7279;&#x6B8A;&#x6743;&#x9650;&#xFF0C;&#x4F7F;&#x4E0A;&#x8F7D;&#x540E;&#x65E0;&#x6CD5;&#x5220;&#x9664;&#xFF09;</li>
<li>vsFTP&#x7684;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#xFF1A;<code>/etc/logrotate.d/vsftpd.log</code></li>
</ul>
<h1 id="vsftp&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;"><a name="vsftp&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;" class="anchor-navigation-ex-anchor" href="#vsftp&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;"><i class="fa fa-link" aria-hidden="true"></i></a>3. vsFTP&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x53C2;&#x6570;</h1>
<h2 id="&#x57FA;&#x672C;&#x9009;&#x9879;"><a name="&#x57FA;&#x672C;&#x9009;&#x9879;" class="anchor-navigation-ex-anchor" href="#&#x57FA;&#x672C;&#x9009;&#x9879;"><i class="fa fa-link" aria-hidden="true"></i></a>3.1. &#x57FA;&#x672C;&#x9009;&#x9879;</h2>
<pre class="language-"><code class="lang-bash"><span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x533F;&#x540D;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x4E3A;YES&#x5141;&#x8BB8;</span>
<span class="token comment"># &#x7528;&#x6237;&#x53EF;&#x4F7F;&#x7528;&#x7528;&#x6237;&#x540D;ftp&#x6216;anonymous&#x8FDB;&#x884C;ftp&#x767B;&#x5F55;&#xFF0C;&#x53E3;&#x4EE4;&#x4E3A;&#x7528;&#x6237;&#x7684;E-mail&#x5730;&#x5740;&#x3002;</span>
<span class="token comment"># &#x5982;&#x4E0D;&#x5141;&#x8BB8;&#x533F;&#x540D;&#x8BBF;&#x95EE;&#x5219;&#x8BBE;&#x7F6E;&#x4E3A;NO</span>
<span class="token assign-left variable">anonymous_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x672C;&#x5730;&#x7528;&#x6237;(&#x5373;linux&#x7CFB;&#x7EDF;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x5E10;&#x53F7;)&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x4E3A;YES&#x5141;&#x8BB8;</span>
<span class="token comment"># &#x672C;&#x5730;&#x7528;&#x6237;&#x767B;&#x5F55;&#x540E;&#x4F1A;&#x8FDB;&#x5165;&#x7528;&#x6237;&#x4E3B;&#x76EE;&#x5F55;&#xFF0C;&#x800C;&#x533F;&#x540D;&#x7528;&#x6237;&#x767B;&#x5F55;&#x540E;&#x8FDB;&#x5165;&#x533F;&#x540D;&#x7528;&#x6237;&#x7684;&#x4E0B;&#x8F7D;&#x76EE;&#x5F55;/var/ftp/pub</span>
<span class="token comment"># &#x82E5;&#x53EA;&#x5141;&#x8BB8;&#x533F;&#x540D;&#x7528;&#x6237;&#x8BBF;&#x95EE;&#xFF0C;&#x524D;&#x9762;&#x52A0;&#x4E0A;&#x6CE8;&#x91CA;&#x6389;&#x5373;&#x53EF;&#x963B;&#x6B62;&#x672C;&#x5730;&#x7528;&#x6237;&#x8BBF;&#x95EE;FTP&#x670D;&#x52A1;&#x5668;</span>
<span class="token assign-left variable">local_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x672C;&#x5730;&#x7528;&#x6237;&#x5BF9;FTP&#x670D;&#x52A1;&#x5668;&#x6587;&#x4EF6;&#x5177;&#x6709;&#x5199;&#x6743;&#x9650;&#xFF0C;&#x9ED8;&#x8BA4;&#x8BBE;&#x7F6E;&#x4E3A;YES&#x5141;&#x8BB8;</span>
<span class="token assign-left variable">write_enable</span><span class="token operator">=</span>YES 
<span class="token comment"># &#x63A9;&#x7801;&#xFF0C;&#x672C;&#x5730;&#x7528;&#x6237;&#x9ED8;&#x8BA4;&#x63A9;&#x7801;&#x4E3A;077</span>
<span class="token comment"># &#x4F60;&#x53EF;&#x4EE5;&#x8BBE;&#x7F6E;&#x672C;&#x5730;&#x7528;&#x6237;&#x7684;&#x6587;&#x4EF6;&#x63A9;&#x7801;&#x4E3A;&#x7F3A;&#x7701;022&#xFF0C;&#x4E5F;&#x53EF;&#x6839;&#x636E;&#x4E2A;&#x4EBA;&#x559C;&#x597D;&#x5C06;&#x5176;&#x8BBE;&#x7F6E;&#x4E3A;&#x5176;&#x4ED6;&#x503C;</span>
<span class="token assign-left variable">local_umask</span><span class="token operator">=</span>022
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x533F;&#x540D;&#x7528;&#x6237;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#xFF0C;&#x987B;&#x5C06;&#x5168;&#x5C40;&#x7684;write_enable=YES&#x3002;&#x9ED8;&#x8BA4;&#x4E3A;YES</span>
<span class="token assign-left variable">anon_upload_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x533F;&#x540D;&#x7528;&#x6237;&#x521B;&#x5EFA;&#x65B0;&#x6587;&#x4EF6;&#x5939;</span>
<span class="token assign-left variable">anon_mkdir_write_enable</span><span class="token operator">=</span>YES 
<span class="token comment"># &#x662F;&#x5426;&#x6FC0;&#x6D3B;&#x76EE;&#x5F55;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#x529F;&#x80FD;</span>
<span class="token comment"># &#x5F53;&#x7528;&#x6237;&#x7528;CMD&#x6A21;&#x5F0F;&#x9996;&#x6B21;&#x8BBF;&#x95EE;&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x67D0;&#x4E2A;&#x76EE;&#x5F55;&#x65F6;&#xFF0C;FTP&#x670D;&#x52A1;&#x5668;&#x5C06;&#x663E;&#x793A;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#x662F;&#x901A;&#x8FC7;&#x8BE5;&#x76EE;&#x5F55;&#x4E0B;&#x7684;.message&#x6587;&#x4EF6;&#x83B7;&#x5F97;&#x7684;</span>
<span class="token comment"># &#x6B64;&#x6587;&#x4EF6;&#x4FDD;&#x5B58;&#x81EA;&#x5B9A;&#x4E49;&#x7684;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#xFF0C;&#x7531;&#x7528;&#x6237;&#x81EA;&#x5DF1;&#x5EFA;&#x7ACB;</span>
<span class="token assign-left variable">dirmessage_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x8BA9;&#x7CFB;&#x7EDF;&#x81EA;&#x52A8;&#x7EF4;&#x62A4;&#x4E0A;&#x4F20;&#x548C;&#x4E0B;&#x8F7D;&#x7684;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x8BE5;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;&#x4E3A;/var/log/vsftpd.log,&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4E0B;&#x9762;&#x7684;xferlog_file&#x9009;&#x9879;&#x5BF9;&#x5176;&#x8FDB;&#x884C;&#x8BBE;&#x5B9A;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x503C;&#x4E3A;NO</span>
<span class="token assign-left variable">xferlog_enable</span><span class="token operator">=</span>YES
<span class="token comment"># Make sure PORT transfer connections originate from port 20 (ftp-data).</span>
<span class="token comment"># &#x662F;&#x5426;&#x8BBE;&#x5B9A;FTP&#x670D;&#x52A1;&#x5668;&#x5C06;&#x542F;&#x7528;FTP&#x6570;&#x636E;&#x7AEF;&#x53E3;&#x7684;&#x8FDE;&#x63A5;&#x8BF7;&#x6C42;</span>
<span class="token comment"># ftp-data&#x6570;&#x636E;&#x4F20;&#x8F93;&#xFF0C;21&#x4E3A;&#x8FDE;&#x63A5;&#x63A7;&#x5236;&#x7AEF;&#x53E3;</span>
<span class="token assign-left variable">connect_from_port_20</span><span class="token operator">=</span>YES
<span class="token comment"># &#x8BBE;&#x5B9A;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x6539;&#x53D8;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;&#xFF0C;&#x4E0E;&#x4E0B;&#x9762;&#x4E00;&#x4E2A;&#x8BBE;&#x5B9A;&#x9879;&#x914D;&#x5408;&#x4F7F;&#x7528;</span>
<span class="token comment"># &#x6CE8;&#x610F;&#xFF0C;&#x4E0D;&#x63A8;&#x8350;&#x4F7F;&#x7528;root&#x7528;&#x6237;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;</span>
<span class="token assign-left variable">chown_uploads</span><span class="token operator">=</span>YES
<span class="token comment"># &#x8BBE;&#x7F6E;&#x60F3;&#x8981;&#x6539;&#x53D8;&#x7684;&#x4E0A;&#x4F20;&#x6587;&#x4EF6;&#x7684;&#x5C5E;&#x4E3B;&#xFF0C;&#x5982;&#x679C;&#x9700;&#x8981;&#xFF0C;&#x5219;&#x8F93;&#x5165;&#x4E00;&#x4E2A;&#x7CFB;&#x7EDF;&#x7528;&#x6237;&#x540D;</span>
<span class="token comment"># &#x53EF;&#x4EE5;&#x628A;&#x4E0A;&#x4F20;&#x7684;&#x6587;&#x4EF6;&#x90FD;&#x6539;&#x6210;root&#x5C5E;&#x4E3B;&#x3002;whoever&#xFF1A;&#x4EFB;&#x4F55;&#x4EBA;</span>
<span class="token assign-left variable">chown_username</span><span class="token operator">=</span>whoever
* <span class="token comment"># &#x8BBE;&#x5B9A;&#x7CFB;&#x7EDF;&#x7EF4;&#x62A4;&#x8BB0;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#x4E0A;&#x4F20;&#x548C;&#x4E0B;&#x8F7D;&#x60C5;&#x51B5;&#x7684;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;</span>
<span class="token comment"># /var/log/vsftpd.log&#x662F;&#x9ED8;&#x8BA4;&#x7684;&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x53E6;&#x8BBE;&#x5176;&#x5B83;</span>
<span class="token assign-left variable">xferlog_file</span><span class="token operator">=</span>/var/log/vsftpd.log
<span class="token comment"># &#x662F;&#x5426;&#x4EE5;&#x6807;&#x51C6;xferlog&#x7684;&#x683C;&#x5F0F;&#x4E66;&#x5199;&#x4F20;&#x8F93;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x4E3A;/var/log/xferlog&#xFF0C;&#x4E5F;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;xferlog_file&#x9009;&#x9879;&#x5BF9;&#x5176;&#x8FDB;&#x884C;&#x8BBE;&#x5B9A;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x503C;&#x4E3A;NO</span>
<span class="token assign-left variable">xferlog_std_format</span><span class="token operator">=</span>YES
<span class="token comment"># &#x4EE5;&#x4E0B;&#x662F;&#x9644;&#x52A0;&#x914D;&#x7F6E;&#xFF0C;&#x6DFB;&#x52A0;&#x76F8;&#x5E94;&#x7684;&#x9009;&#x9879;&#x5C06;&#x542F;&#x7528;&#x76F8;&#x5E94;&#x7684;&#x8BBE;&#x7F6E;</span>
<span class="token comment"># &#x662F;&#x5426;&#x751F;&#x6210;&#x4E24;&#x4E2A;&#x76F8;&#x4F3C;&#x7684;&#x65E5;&#x5FD7;&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x9ED8;&#x8BA4;&#x5728;/var/log/xferlog&#x548C;/var/log/vsftpd.log&#x76EE;&#x5F55;&#x4E0B;</span>
<span class="token comment"># &#x524D;&#x8005;&#x662F;wu_ftpd&#x7C7B;&#x578B;&#x7684;&#x4F20;&#x8F93;&#x65E5;&#x5FD7;&#xFF0C;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x6807;&#x51C6;&#x65E5;&#x5FD7;&#x5DE5;&#x5177;&#x5BF9;&#x5176;&#x8FDB;&#x884C;&#x5206;&#x6790;&#xFF1B;&#x540E;&#x8005;&#x662F;vsftpd&#x7C7B;&#x578B;&#x7684;&#x65E5;&#x5FD7;</span>
<span class="token assign-left variable">dual_log_enable</span><span class="token operator">=</span>
<span class="token comment"># &#x662F;&#x5426;&#x5C06;&#x539F;&#x672C;&#x8F93;&#x51FA;&#x5230;/var/log/vsftpd.log&#x4E2D;&#x7684;&#x65E5;&#x5FD7;&#xFF0C;&#x8F93;&#x51FA;&#x5230;&#x7CFB;&#x7EDF;&#x65E5;&#x5FD7;</span>
<span class="token assign-left variable">syslog_enable</span><span class="token operator">=</span>
<span class="token comment"># &#x8BBE;&#x7F6E;&#x6570;&#x636E;&#x4F20;&#x8F93;&#x4E2D;&#x65AD;&#x95F4;&#x9694;&#x65F6;&#x95F4;&#xFF0C;&#x6B64;&#x8BED;&#x53E5;&#x8868;&#x793A;&#x7A7A;&#x95F2;&#x7684;&#x7528;&#x6237;&#x4F1A;&#x8BDD;&#x4E2D;&#x65AD;&#x65F6;&#x95F4;&#x4E3A;600&#x79D2;</span>
<span class="token comment"># &#x5373;&#x5F53;&#x6570;&#x636E;&#x4F20;&#x8F93;&#x7ED3;&#x675F;&#x540E;&#xFF0C;&#x7528;&#x6237;&#x8FDE;&#x63A5;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x65F6;&#x95F4;&#x4E0D;&#x5E94;&#x8D85;&#x8FC7;600&#x79D2;&#x3002;&#x53EF;&#x4EE5;&#x6839;&#x636E;&#x5B9E;&#x9645;&#x60C5;&#x51B5;&#x5BF9;&#x8BE5;&#x503C;&#x8FDB;&#x884C;&#x4FEE;&#x6539;</span>
<span class="token assign-left variable">idle_session_timeout</span><span class="token operator">=</span><span class="token number">600</span>
<span class="token comment"># &#x8BBE;&#x7F6E;&#x6570;&#x636E;&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#xFF0C;&#x8BE5;&#x8BED;&#x53E5;&#x8868;&#x793A;&#x6570;&#x636E;&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x65F6;&#x95F4;&#x4E3A;120&#x79D2;&#xFF0C;&#x53EF;&#x6839;&#x636E;&#x5B9E;&#x9645;&#x60C5;&#x51B5;&#x5BF9;&#x5176;&#x4E2A;&#x4FEE;&#x6539;</span>
<span class="token assign-left variable">data_connection_timeout</span><span class="token operator">=</span><span class="token number">120</span>
<span class="token comment"># &#x8FD0;&#x884C;vsftpd&#x9700;&#x8981;&#x7684;&#x975E;&#x7279;&#x6743;&#x7CFB;&#x7EDF;&#x7528;&#x6237;&#xFF0C;&#x7F3A;&#x7701;&#x662F;nobody</span>
<span class="token assign-left variable">nopriv_user</span><span class="token operator">=</span>ftpsecure
<span class="token comment"># &#x662F;&#x5426;&#x8BC6;&#x522B;&#x5F02;&#x6B65;ABOR&#x8BF7;&#x6C42;&#x3002;</span>
<span class="token comment"># &#x5982;&#x679C;FTP client&#x4F1A;&#x4E0B;&#x8FBE;&#x201C;async ABOR&#x201D;&#x8FD9;&#x4E2A;&#x6307;&#x4EE4;&#x65F6;&#xFF0C;&#x8FD9;&#x4E2A;&#x8BBE;&#x5B9A;&#x624D;&#x9700;&#x8981;&#x542F;&#x7528;</span>
<span class="token comment"># &#x800C;&#x4E00;&#x822C;&#x6B64;&#x8BBE;&#x5B9A;&#x5E76;&#x4E0D;&#x5B89;&#x5168;&#xFF0C;&#x6240;&#x4EE5;&#x901A;&#x5E38;&#x5C06;&#x5176;&#x53D6;&#x6D88;</span>
<span class="token assign-left variable">async_abor_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x4EE5;ASCII&#x65B9;&#x5F0F;&#x4F20;&#x8F93;&#x6570;&#x636E;&#x3002;&#x9ED8;&#x8BA4;&#x60C5;&#x51B5;&#x4E0B;&#xFF0C;&#x670D;&#x52A1;&#x5668;&#x4F1A;&#x5FFD;&#x7565;ASCII&#x65B9;&#x5F0F;&#x7684;&#x8BF7;&#x6C42;&#x3002;</span>
<span class="token comment"># &#x542F;&#x7528;&#x6B64;&#x9009;&#x9879;&#x5C06;&#x5141;&#x8BB8;&#x670D;&#x52A1;&#x5668;&#x4EE5;ASCII&#x65B9;&#x5F0F;&#x4F20;&#x8F93;&#x6570;&#x636E;</span>
<span class="token comment"># &#x4E0D;&#x8FC7;&#xFF0C;&#x8FD9;&#x6837;&#x53EF;&#x80FD;&#x4F1A;&#x5BFC;&#x81F4;&#x7531;&quot;SIZE /big/file&quot;&#x65B9;&#x5F0F;&#x5F15;&#x8D77;&#x7684;DoS&#x653B;&#x51FB;</span>
<span class="token assign-left variable">ascii_upload_enable</span><span class="token operator">=</span>YES
<span class="token assign-left variable">ascii_download_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#x65F6;&#x663E;&#x793A;&#x7684;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;</span>
<span class="token comment"># &#x5982;&#x6709;&#x9700;&#x8981;&#xFF0C;&#x53EF;&#x5728;&#x66F4;&#x6539;&#x76EE;&#x5F55;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#x7684;&#x76EE;&#x5F55;&#x4E0B;&#x521B;&#x5EFA;&#x540D;&#x4E3A;.message&#x7684;&#x6587;&#x4EF6;&#xFF0C;&#x5E76;&#x5199;&#x5165;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#x4FDD;&#x5B58;&#x540E;</span>
<span class="token assign-left variable">ftpd_banner</span><span class="token operator">=</span>Welcome to blah FTP service.
<span class="token comment"># &#x9ED1;&#x540D;&#x5355;&#x8BBE;&#x7F6E;&#x3002;&#x5982;&#x679C;&#x5F88;&#x8BA8;&#x538C;&#x67D0;&#x4E9B;email address&#xFF0C;&#x5C31;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;&#x6B64;&#x8BBE;&#x5B9A;&#x6765;&#x53D6;&#x6D88;&#x4ED6;&#x7684;&#x767B;&#x5F55;&#x6743;&#x9650;</span>
<span class="token comment"># &#x53EF;&#x4EE5;&#x5C06;&#x67D0;&#x4E9B;&#x7279;&#x6B8A;&#x7684;email address&#x62B5;&#x6321;&#x4F4F;&#x3002;</span>
<span class="token assign-left variable">deny_email_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x5F53;&#x4E0A;&#x9762;&#x7684;deny_email_enable=YES&#x65F6;&#xFF0C;&#x53EF;&#x4EE5;&#x5229;&#x7528;&#x8FD9;&#x4E2A;&#x8BBE;&#x5B9A;&#x9879;&#x6765;&#x89C4;&#x5B9A;&#x54EA;&#x4E9B;&#x90AE;&#x4EF6;&#x5730;&#x5740;&#x4E0D;&#x53EF;&#x767B;&#x5F55;vsftpd&#x670D;&#x52A1;&#x5668;</span>
<span class="token comment"># &#x6B64;&#x6587;&#x4EF6;&#x9700;&#x7528;&#x6237;&#x81EA;&#x5DF1;&#x521B;&#x5EFA;&#xFF0C;&#x4E00;&#x884C;&#x4E00;&#x4E2A;email address&#x5373;&#x53EF;</span>
<span class="token assign-left variable">banned_email_file</span><span class="token operator">=</span>/etc/vsftpd/banned_emails
<span class="token comment"># &#x7528;&#x6237;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#x540E;&#x662F;&#x5426;&#x5177;&#x6709;&#x8BBF;&#x95EE;&#x81EA;&#x5DF1;&#x76EE;&#x5F55;&#x4EE5;&#x5916;&#x7684;&#x5176;&#x4ED6;&#x6587;&#x4EF6;&#x7684;&#x6743;&#x9650;</span>
<span class="token comment"># &#x8BBE;&#x7F6E;&#x4E3A;YES&#x65F6;&#xFF0C;&#x7528;&#x6237;&#x88AB;&#x9501;&#x5B9A;&#x5728;&#x81EA;&#x5DF1;&#x7684;home&#x76EE;&#x5F55;&#x4E2D;&#xFF0C;vsftpd&#x5C06;&#x5728;&#x4E0B;&#x9762;chroot_list_file&#x9009;&#x9879;&#x503C;&#x7684;&#x4F4D;&#x7F6E;&#x5BFB;&#x627E;chroot_list&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x5FC5;&#x987B;&#x4E0E;&#x4E0B;&#x9762;&#x7684;&#x8BBE;&#x7F6E;&#x9879;&#x914D;&#x5408;</span>
<span class="token assign-left variable">chroot_list_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x88AB;&#x5217;&#x5165;&#x6B64;&#x6587;&#x4EF6;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x5728;&#x767B;&#x5F55;&#x540E;&#x5C06;&#x4E0D;&#x80FD;&#x5207;&#x6362;&#x5230;&#x81EA;&#x5DF1;&#x76EE;&#x5F55;&#x4EE5;&#x5916;&#x7684;&#x5176;&#x4ED6;&#x76EE;&#x5F55;</span>
<span class="token comment"># &#x4ECE;&#x800C;&#x6709;&#x5229;&#x4E8E;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x5B89;&#x5168;&#x7BA1;&#x7406;&#x548C;&#x9690;&#x79C1;&#x4FDD;&#x62A4;&#x3002;&#x6B64;&#x6587;&#x4EF6;&#x9700;&#x81EA;&#x5DF1;&#x5EFA;&#x7ACB;</span>
<span class="token assign-left variable">chroot_list_file</span><span class="token operator">=</span>/etc/vsftpd/chroot_list
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x9012;&#x5F52;&#x67E5;&#x8BE2;&#x3002;&#x9ED8;&#x8BA4;&#x4E3A;&#x5173;&#x95ED;&#xFF0C;&#x4EE5;&#x9632;&#x6B62;&#x8FDC;&#x7A0B;&#x7528;&#x6237;&#x9020;&#x6210;&#x8FC7;&#x91CF;&#x7684;I/O</span>
<span class="token assign-left variable">ls_recurse_enable</span><span class="token operator">=</span>YES
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;&#x76D1;&#x542C;&#x3002;</span>
<span class="token comment"># &#x5982;&#x679C;&#x8BBE;&#x7F6E;&#x4E3A;YES&#xFF0C;&#x5219;vsftpd&#x5C06;&#x4EE5;&#x72EC;&#x7ACB;&#x6A21;&#x5F0F;&#x8FD0;&#x884C;&#xFF0C;&#x7531;vsftpd&#x81EA;&#x5DF1;&#x76D1;&#x542C;&#x548C;&#x5904;&#x7406;IPv4&#x7AEF;&#x53E3;&#x7684;&#x8FDE;&#x63A5;&#x8BF7;&#x6C42;</span>
<span class="token assign-left variable">listen</span><span class="token operator">=</span>YES
<span class="token comment"># &#x4FEE;&#x6539;&#x9ED8;&#x8BA4;&#x76D1;&#x542C;&#x7684;&#x7AEF;&#x53E3;&#xFF0C;&#x5E94;&#x5F53;&#x5C3D;&#x91CF;&#x5927;&#x4E8E;4000</span>
<span class="token assign-left variable">listen_port</span><span class="token operator">=</span><span class="token number">4449</span>            <span class="token comment"># &#x5BA2;&#x6237;&#x7AEF;&#x8FDE;&#x63A5;&#x8BED;&#x53E5;&#xFF1A;`lftp 172.16.122.126 4449`</span>
<span class="token comment"># &#x8BBE;&#x5B9A;&#x662F;&#x5426;&#x652F;&#x6301;IPV6&#x3002;&#x5982;&#x8981;&#x540C;&#x65F6;&#x76D1;&#x542C;IPv4&#x548C;IPv6&#x7AEF;&#x53E3;&#xFF0C;</span>
<span class="token comment"># &#x5219;&#x5FC5;&#x987B;&#x8FD0;&#x884C;&#x4E24;&#x5957;vsftpd&#xFF0C;&#x91C7;&#x7528;&#x4E24;&#x5957;&#x914D;&#x7F6E;&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x540C;&#x65F6;&#x786E;&#x4FDD;&#x5176;&#x4E2D;&#x6709;&#x4E00;&#x4E2A;&#x76D1;&#x542C;&#x9009;&#x9879;&#x662F;&#x88AB;&#x6CE8;&#x91CA;&#x6389;&#x7684;</span>
<span class="token assign-left variable">listen_ipv6</span><span class="token operator">=</span>YES
<span class="token comment"># &#x8BBE;&#x7F6E;PAM&#x5916;&#x6302;&#x6A21;&#x5757;&#x63D0;&#x4F9B;&#x7684;&#x8BA4;&#x8BC1;&#x670D;&#x52A1;&#x6240;&#x4F7F;&#x7528;&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x540D;&#xFF0C;&#x5373;/etc/pam.d/vsftpd&#x6587;&#x4EF6;</span>
<span class="token comment"># &#x6B64;&#x6587;&#x4EF6;&#x4E2D;file=/etc/vsftpd/ftpusers&#x5B57;&#x6BB5;&#xFF0C;&#x8BF4;&#x660E;&#x4E86;PAM&#x6A21;&#x5757;&#x80FD;&#x62B5;&#x6321;&#x7684;&#x5E10;&#x53F7;&#x5185;&#x5BB9;&#x6765;&#x81EA;&#x6587;&#x4EF6;/etc/vsftpd/ftpusers&#x4E2D;</span>
<span class="token assign-left variable">pam_service_name</span><span class="token operator">=</span>vsftpd
<span class="token comment"># &#x662F;&#x5426;&#x5141;&#x8BB8;ftpusers&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;NO</span>
<span class="token comment"># &#x82E5;&#x6B64;&#x9879;&#x8BBE;&#x4E3A;YES&#xFF0C;&#x5219;user_list&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x5141;&#x8BB8;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;</span>
<span class="token comment"># &#x800C;&#x5982;&#x679C;&#x540C;&#x65F6;&#x8BBE;&#x7F6E;&#x4E86;userlist_deny=YES&#xFF0C;&#x5219;user_list&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x5C06;&#x4E0D;&#x5141;&#x8BB8;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x751A;&#x81F3;&#x8FDE;&#x8F93;&#x5165;&#x5BC6;&#x7801;&#x63D0;&#x793A;&#x4FE1;&#x606F;&#x90FD;&#x6CA1;&#x6709;</span>
<span class="token assign-left variable">userlist_enable</span><span class="token operator">=</span>YES/NO
<span class="token comment"># &#x8BBE;&#x7F6E;&#x662F;&#x5426;&#x963B;&#x626F;user_list&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#xFF0C;&#x9ED8;&#x8BA4;&#x4E3A;YES</span>
<span class="token assign-left variable">userlist_deny</span><span class="token operator">=</span>YES/NO
<span class="token comment"># &#x662F;&#x5426;&#x4F7F;&#x7528;tcp_wrappers&#x4F5C;&#x4E3A;&#x4E3B;&#x673A;&#x8BBF;&#x95EE;&#x63A7;&#x5236;&#x65B9;&#x5F0F;&#x3002;</span>
<span class="token comment"># tcp_wrappers&#x53EF;&#x4EE5;&#x5B9E;&#x73B0;linux&#x7CFB;&#x7EDF;&#x4E2D;&#x7F51;&#x7EDC;&#x670D;&#x52A1;&#x7684;&#x57FA;&#x4E8E;&#x4E3B;&#x673A;&#x5730;&#x5740;&#x7684;&#x8BBF;&#x95EE;&#x63A7;&#x5236;</span>
<span class="token comment"># &#x5728;/etc&#x76EE;&#x5F55;&#x4E2D;&#x7684;hosts.allow&#x548C;hosts.deny&#x4E24;&#x4E2A;&#x6587;&#x4EF6;&#x7528;&#x4E8E;&#x8BBE;&#x7F6E;tcp_wrappers&#x7684;&#x8BBF;&#x95EE;&#x63A7;&#x5236;</span>
<span class="token comment"># &#x524D;&#x8005;&#x8BBE;&#x7F6E;&#x5141;&#x8BB8;&#x8BBF;&#x95EE;&#x8BB0;&#x5F55;&#xFF0C;&#x540E;&#x8005;&#x8BBE;&#x7F6E;&#x62D2;&#x7EDD;&#x8BBF;&#x95EE;&#x8BB0;&#x5F55;&#x3002;</span>
<span class="token comment"># &#x5982;&#x60F3;&#x9650;&#x5236;&#x67D0;&#x4E9B;&#x4E3B;&#x673A;&#x5BF9;FTP&#x670D;&#x52A1;&#x5668;192.168.57.2&#x7684;&#x533F;&#x540D;&#x8BBF;&#x95EE;&#xFF0C;&#x7F16;&#x7F09;/etc/hosts.allow&#x6587;&#x4EF6;&#xFF0C;&#x5982;&#x5728;&#x4E0B;&#x9762;&#x589E;&#x52A0;&#x4E24;&#x884C;&#x547D;&#x4EE4;&#xFF1A;</span>
<span class="token comment"># vsftpd:192.168.57.1:DENY &#x548C;vsftpd:192.168.57.9:DENY</span>
<span class="token comment"># &#x8868;&#x660E;&#x9650;&#x5236;IP&#x4E3A;192.168.57.1/192.168.57.9&#x4E3B;&#x673A;&#x8BBF;&#x95EE;IP&#x4E3A;192.168.57.2&#x7684;FTP&#x670D;&#x52A1;&#x5668;</span>
<span class="token comment"># &#x6B64;&#x65F6;FTP&#x670D;&#x52A1;&#x5668;&#x867D;&#x53EF;&#x4EE5;PING&#x901A;&#xFF0C;&#x4F46;&#x65E0;&#x6CD5;&#x8FDE;&#x63A5;</span>
<span class="token assign-left variable">tcp_wrappers</span><span class="token operator">=</span>YES
</code></pre>
<p>FROM&#xFF1A;<a href="https://www.jb51.net/article/94223.htm" target="_blank">https://www.jb51.net/article/94223.htm</a></p>
<h2 id="&#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;"><a name="&#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;" class="anchor-navigation-ex-anchor" href="#&#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;"><i class="fa fa-link" aria-hidden="true"></i></a>3.2. &#x6B22;&#x8FCE;&#x8BED;&#x8BBE;&#x7F6E;</h2>
<p><code>dirmessage_enable=YES/NO&#xFF08;YES&#xFF09;</code>&#xFF1A;&#x5982;&#x679C;&#x542F;&#x52A8;&#x8FD9;&#x4E2A;&#x9009;&#x9879;&#xFF0C;&#x90A3;&#x4E48;&#x4F7F;&#x7528;&#x8005;&#x7B2C;&#x4E00;&#x6B21;&#x8FDB;&#x5165;&#x4E00;&#x4E2A;&#x76EE;&#x5F55;&#x65F6;&#xFF0C;&#x4F1A;&#x68C0;&#x67E5;&#x8BE5;&#x76EE;&#x5F55;&#x4E0B;&#x662F;&#x5426;&#x6709;.message&#x8FD9;&#x4E2A;&#x6863;&#x6848;&#xFF0C;&#x5982;&#x679C;&#x6709;&#xFF0C;&#x5219;&#x4F1A;&#x51FA;&#x73B0;&#x6B64;&#x6863;&#x6848;&#x7684;&#x5185;&#x5BB9;&#xFF0C;&#x901A;&#x5E38;&#x8FD9;&#x4E2A;&#x6863;&#x6848;&#x4F1A;&#x653E;&#x7F6E;&#x6B22;&#x8FCE;&#x8BDD;&#x8BED;&#xFF0C;&#x6216;&#x662F;&#x5BF9;&#x8BE5;&#x76EE;&#x5F55;&#x7684;&#x8BF4;&#x660E;&#x3002;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A;&#x5F00;&#x542F;&#x3002;
<code>message_file=.message</code>&#xFF1A;&#x8BBE;&#x7F6E;&#x76EE;&#x5F55;&#x6D88;&#x606F;&#x6587;&#x4EF6;&#xFF0C;&#x53EF;&#x5C06;&#x8981;&#x663E;&#x793A;&#x7684;&#x4FE1;&#x606F;&#x5199;&#x5165;&#x8BE5;&#x6587;&#x4EF6;&#x3002;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A;.message&#x3002;
<code>banner_file=/etc/vsftpd/banner</code>&#xFF1A;&#x5F53;&#x4F7F;&#x7528;&#x8005;&#x767B;&#x5165;&#x65F6;&#xFF0C;&#x4F1A;&#x663E;&#x793A;&#x6B64;&#x8BBE;&#x5B9A;&#x6240;&#x5728;&#x7684;&#x6863;&#x6848;&#x5185;&#x5BB9;&#xFF0C;&#x901A;&#x5E38;&#x4E3A;&#x6B22;&#x8FCE;&#x8BDD;&#x8BED;&#x6216;&#x662F;&#x8BF4;&#x660E;&#x3002;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A;&#x65E0;&#x3002;&#x5982;&#x679C;&#x6B22;&#x8FCE;&#x4FE1;&#x606F;&#x8F83;&#x591A;&#xFF0C;&#x5219;&#x4F7F;&#x7528;&#x8BE5;&#x914D;&#x7F6E;&#x9879;&#x3002;
<code>ftpd_banner=Welcome to AGou&apos;s FTP server</code>&#xFF1A;&#x8FD9;&#x91CC;&#x7528;&#x6765;&#x5B9A;&#x4E49;&#x6B22;&#x8FCE;&#x8BDD;&#x8BED;&#x7684;&#x5B57;&#x7B26;&#x4E32;&#xFF0C;banner_file&#x662F;&#x6863;&#x6848;&#x7684;&#x5F62;&#x5F0F;&#xFF0C;&#x800C;ftpd_banner &#x5219;&#x662F;&#x5B57;&#x7B26;&#x4E32;&#x7684;&#x5F62;&#x5F0F;&#x3002;&#x9884;&#x8BBE;&#x4E3A;&#x65E0;&#x3002;</p>
<h2 id="&#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;"><a name="&#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;" class="anchor-navigation-ex-anchor" href="#&#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;"><i class="fa fa-link" aria-hidden="true"></i></a>3.3. &#x9650;&#x5236;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x548C;&#x4F20;&#x8F93;&#x901F;&#x7387;</h2>
<p><code>max_client</code>&#xFF1A;&#x7528;&#x4E8E;&#x8BBE;&#x7F6E;FTP&#x670D;&#x52A1;&#x5668;&#x6240;&#x5141;&#x8BB8;&#x7684;&#x6700;&#x5927;&#x5BA2;&#x6237;&#x7AEF;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;&#x503C;&#x4E3A;0&#x65F6;&#x8868;&#x793A;&#x4E0D;&#x9650;&#x5236;&#x3002;&#x4F8B;&#x5982;<code>max_client=100</code>&#x8868;&#x793A;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x6240;&#x6709;&#x5BA2;&#x6237;&#x7AEF;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x4E0D;&#x8D85;&#x8FC7;100&#x4E2A;&#x3002;
<code>max_per_ip</code>&#xFF1A; &#x7528;&#x4E8E;&#x8BBE;&#x7F6E;&#x5BF9;&#x4E8E;&#x540C;&#x4E00;IP&#x5730;&#x5740;&#x5141;&#x8BB8;&#x7684;&#x6700;&#x5927;&#x5BA2;&#x6237;&#x7AEF;&#x8FDE;&#x63A5;&#x6570;&#xFF0C;&#x503C;&#x4E3A;0&#x65F6;&#x8868;&#x793A;&#x4E0D;&#x9650;&#x5236;&#x3002;&#x4F8B;&#x5982;<code>max_per_ip=5</code>&#x8868;&#x793A;&#x540C;&#x4E00;IP&#x5730;&#x5740;&#x7684;FTP&#x5BA2;&#x6237;&#x673A;&#x4E0E;FTP&#x670D;&#x52A1;&#x5668;&#x5EFA;&#x7ACB;&#x7684;&#x6700;&#x5927;&#x8FDE;&#x63A5;&#x6570;&#x4E0D;&#x8D85;&#x8FC7;5&#x4E2A;&#x3002;
<code>local_max_rate</code>&#xFF1A; &#x7528;&#x4E8E;&#x8BBE;&#x7F6E;&#x672C;&#x5730;&#x7528;&#x6237;&#x7684;&#x6700;&#x5927;&#x4F20;&#x8F93;&#x901F;&#x7387;&#xFF0C;&#x5355;&#x4F4D;&#x4E3A;B/s&#xFF0C;&#x503C;&#x4E3A;0&#x65F6;&#x8868;&#x793A;&#x4E0D;&#x9650;&#x5236;&#x3002;&#x4F8B;&#x5982;<code>local_max_rate=500000</code>&#x8868;&#x793A;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x672C;&#x5730;&#x7528;&#x6237;&#x6700;&#x5927;&#x4F20;&#x8F93;&#x901F;&#x7387;&#x8BBE;&#x7F6E;&#x4E3A;500KB/s.
<code>anon_max_rate</code>&#xFF1A;&#x7528;&#x4E8E;&#x8BBE;&#x7F6E;&#x533F;&#x540D;&#x7528;&#x6237;&#x7684;&#x6700;&#x5927;&#x4F20;&#x8F93;&#x901F;&#x7387;&#xFF0C;&#x5355;&#x4F4D;&#x4E3A;B/s,&#x503C;&#x4E3A;0&#x8868;&#x793A;&#x4E0D;&#x9650;&#x5236;&#x3002;&#x4F8B;&#x5982;<code>ano_max_rate=200000</code>&#xFF0C;&#x8868;&#x793A;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x533F;&#x540D;&#x7528;&#x6237;&#x6700;&#x5927;&#x4F20;&#x8F93;&#x901F;&#x7387;&#x8BBE;&#x7F6E;&#x4E3A;200KB/s.</p>
<h2 id="&#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;"><a name="&#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;" class="anchor-navigation-ex-anchor" href="#&#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;"><i class="fa fa-link" aria-hidden="true"></i></a>3.4. &#x6307;&#x5B9A;&#x7528;&#x6237;&#x7684;&#x6743;&#x9650;&#x8BBE;&#x7F6E;</h2>
<p><code>vsftpd.user_list</code>&#x6587;&#x4EF6;&#x9700;&#x8981;&#x4E0E;<code>vsftpd.conf</code>&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x914D;&#x7F6E;&#x9879;&#x7ED3;&#x5408;&#x6765;&#x5B9E;&#x73B0;&#x5BF9;&#x4E8E;<code>vsftpd.user_list</code>&#x6587;&#x4EF6;&#x4E2D;&#x6307;&#x5B9A;&#x7528;&#x6237;&#x8D26;&#x53F7;&#x7684;&#x8BBF;&#x95EE;&#x63A7;&#x5236;&#xFF1A;</p>
<p>&#xFF08;1&#xFF09;&#x8BBE;&#x7F6E;&#x7981;&#x6B62;&#x767B;&#x5F55;&#x7684;&#x7528;&#x6237;&#x8D26;&#x53F7;&#xFF08;<strong>&#x9ED1;&#x540D;&#x5355;</strong>&#xFF09;</p>
<p>&#x5F53;<code>vsftpd.conf</code>&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x5305;&#x62EC;&#x4EE5;&#x4E0B;&#x8BBE;&#x7F6E;&#x65F6;&#xFF0C;<code>vsftpd.user_list</code>&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x8D26;&#x53F7;&#x88AB;&#x7981;&#x6B62;&#x8FDB;&#x884C;FTP&#x767B;&#x5F55;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">userlist_enable</span><span class="token operator">=</span>YES
<span class="token assign-left variable">userlist_deny</span><span class="token operator">=</span>YES
</code></pre>
<p>userlist_enable&#x8BBE;&#x7F6E;&#x9879;&#x8BBE;&#x7F6E;&#x4F7F;&#x7528;vsftpd.user_list&#x6587;&#x4EF6;&#xFF0C;userlist_deny&#x8BBE;&#x7F6E;&#x4E3A;YES&#x8868;&#x793A;vsftpd.user_list&#x6587;&#x4EF6;&#x7528;&#x4E8E;&#x8BBE;&#x7F6E;&#x7981;&#x6B62;&#x7684;&#x7528;&#x6237;&#x8D26;&#x53F7;&#x3002;</p>
<p>&#xFF08;2&#xFF09;&#x8BBE;&#x7F6E;&#x53EA;&#x5141;&#x8BB8;&#x767B;&#x5F55;&#x7684;&#x7528;&#x6237;&#x8D26;&#x53F7;&#xFF08;<strong>&#x767D;&#x540D;&#x5355;&#xFF0C;&#x5EFA;&#x8BAE;&#x65B9;&#x5F0F;</strong>&#xFF09;</p>
<p>&#x5F53;<code>vsftpd.conf</code>&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x4E2D;&#x5305;&#x62EC;&#x4EE5;&#x4E0B;&#x8BBE;&#x7F6E;&#x65F6;&#xFF0C;&#x53EA;&#x6709;<code>vsftpd.user_list</code>&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x8D26;&#x53F7;&#x80FD;&#x591F;&#x8FDB;&#x884C;FTP&#x767B;&#x5F55;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">userlist_enable</span><span class="token operator">=</span>YES
<span class="token assign-left variable">userlist_deny</span><span class="token operator">=</span>NO
</code></pre>
<h2 id="&#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;"><a name="&#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;" class="anchor-navigation-ex-anchor" href="#&#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;"><i class="fa fa-link" aria-hidden="true"></i></a>3.5. &#x63A7;&#x5236;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;</h2>
<p>&#x5728;&#x9ED8;&#x8BA4;&#x914D;&#x7F6E;&#x4E0B;&#xFF0C;&#x672C;&#x5730;&#x7528;&#x6237;&#x767B;&#x5165;FTP&#x540E;&#x53EF;&#x4EE5;&#x4F7F;&#x7528;cd&#x547D;&#x4EE4;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#xFF0C;&#x8FD9;&#x6837;&#x4F1A;&#x5BF9;&#x7CFB;&#x7EDF;&#x5E26;&#x6765;&#x5B89;&#x5168;&#x9690;&#x60A3;&#x3002;&#x53EF;&#x4EE5;&#x901A;&#x8FC7;&#x4EE5;&#x4E0B;&#x4E09;&#x6761;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#x6765;&#x63A7;&#x5236;&#x7528;&#x6237;&#x5207;&#x6362;&#x76EE;&#x5F55;&#xFF1A;
<code>chroot_list_enable=YES/NO&#xFF08;NO&#xFF09;</code>&#xFF1A;&#x8BBE;&#x7F6E;&#x662F;&#x5426;&#x542F;&#x7528;chroot_list_file&#x914D;&#x7F6E;&#x9879;&#x6307;&#x5B9A;&#x7684;&#x7528;&#x6237;&#x5217;&#x8868;&#x6587;&#x4EF6;&#x3002;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A;NO&#x3002;
<code>chroot_list_file=/etc/vsftpd.chroot_list</code>&#xFF1A;&#x7528;&#x4E8E;&#x6307;&#x5B9A;&#x7528;&#x6237;&#x5217;&#x8868;&#x6587;&#x4EF6;&#xFF0C;&#x8BE5;&#x6587;&#x4EF6;&#x7528;&#x4E8E;&#x63A7;&#x5236;&#x54EA;&#x4E9B;&#x7528;&#x6237;&#x53EF;&#x4EE5;&#x5207;&#x6362;&#x5230;&#x7528;&#x6237;&#x5BB6;&#x76EE;&#x5F55;&#x7684;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;&#x3002;
<code>chroot_local_user=YES/NO&#xFF08;NO&#xFF09;</code>&#xFF1A;&#x7528;&#x4E8E;&#x6307;&#x5B9A;&#x7528;&#x6237;&#x5217;&#x8868;&#x6587;&#x4EF6;&#x4E2D;&#x7684;&#x7528;&#x6237;&#x662F;&#x5426;&#x5141;&#x8BB8;&#x5207;&#x6362;&#x5230;&#x4E0A;&#x7EA7;&#x76EE;&#x5F55;&#x3002;&#x9ED8;&#x8BA4;&#x503C;&#x4E3A;NO&#x3002;
&#x901A;&#x8FC7;&#x642D;&#x914D;&#x80FD;&#x5B9E;&#x73B0;&#x4EE5;&#x4E0B;&#x51E0;&#x79CD;&#x6548;&#x679C;&#xFF1A;
    &#x2460;&#x5F53;<code>chroot_list_enable=YES</code>&#xFF0C;<code>chroot_local_user=YES</code>&#x65F6;&#xFF0C;&#x5728;<code>/etc/vsftpd.chroot_list</code>&#x6587;&#x4EF6;&#x4E2D;&#x5217;&#x51FA;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x53EF;&#x4EE5;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#xFF1B;&#x672A;&#x5728;&#x6587;&#x4EF6;&#x4E2D;&#x5217;&#x51FA;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x4E0D;&#x80FD;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#x3002;
    &#x2461;&#x5F53;<code>chroot_list_enable=YES</code>&#xFF0C;<code>chroot_local_user=NO</code>&#x65F6;&#xFF0C;&#x5728;<code>/etc/vsftpd.chroot_list</code>&#x6587;&#x4EF6;&#x4E2D;&#x5217;&#x51FA;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x4E0D;&#x80FD;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#xFF1B;&#x672A;&#x5728;&#x6587;&#x4EF6;&#x4E2D;&#x5217;&#x51FA;&#x7684;&#x7528;&#x6237;&#xFF0C;&#x53EF;&#x4EE5;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#x3002;
    &#x2462;&#x5F53;<code>chroot_list_enable=NO</code>&#xFF0C;<code>chroot_local_user=YES</code>&#x65F6;&#xFF0C;&#x6240;&#x6709;&#x7684;&#x7528;&#x6237;&#x5747;&#x4E0D;&#x80FD;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#x3002;
    &#x2463;&#x5F53;<code>chroot_list_enable=NO</code>&#xFF0C;<code>chroot_local_user=NO</code>&#x65F6;&#xFF0C;&#x6240;&#x6709;&#x7684;&#x7528;&#x6237;&#x5747;&#x53EF;&#x4EE5;&#x5207;&#x6362;&#x5230;&#x5176;&#x4ED6;&#x76EE;&#x5F55;&#x3002;</p>
<h2 id="&#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;"><a name="&#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;" class="anchor-navigation-ex-anchor" href="#&#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;"><i class="fa fa-link" aria-hidden="true"></i></a>3.6. &#x8BBE;&#x7F6E;&#x7528;&#x6237;&#x7EC4;</h2>
<p>&#x7B80;&#x5355;&#x793A;&#x4F8B;&#xFF1A;</p>
<pre class="language-"><code class="lang-bash"><span class="token function">mkdir</span> -p /home/ftpuser             <span class="token comment"># &#x9012;&#x5F52;&#x521B;&#x5EFA;&#x65B0;&#x76EE;&#x5F55;</span>
<span class="token function">groupadd</span> ftpuser  &#x65B0;&#x5EFA;&#x7EC4;
<span class="token function">useradd</span> -g ftpuser -d /home/ftpuser ftpuser1                 <span class="token comment">#&#x65B0;&#x5EFA;&#x7528;&#x6237;ftpuser1&#x5E76;&#x6307;&#x5B9A;&#x5BB6;&#x76EE;&#x5F55;&#x548C;&#x5C5E;&#x7EC4;</span>
<span class="token function">useradd</span> -g ftpuser -d /home/ftpuser ftpuser2                 <span class="token comment">#&#x65B0;&#x5EFA;&#x7528;&#x6237;ftpuser2&#x5E76;&#x6307;&#x5B9A;&#x5BB6;&#x76EE;&#x5F55;&#x548C;&#x5C5E;&#x7EC4;</span>
<span class="token function">useradd</span> -g ftpuser -d /home/ftpuser ftpuser3             <span class="token comment"># &#x65B0;&#x5EFA;&#x7528;&#x6237;ftpuser3&#x5E76;&#x6307;&#x5B9A;&#x5BB6;&#x76EE;&#x5F55;&#x548C;&#x5C5E;&#x7EC4;</span>
<span class="token function">chown</span> ftpuser1 /home/ftpuser                 <span class="token comment"># &#x8BBE;&#x7F6E;&#x76EE;&#x5F55;&#x5C5E;&#x4E3B;&#x4E3A;&#x7528;&#x6237;ftpuser1</span>
<span class="token function">chown</span> .ftpuser /home/ftpuser                 <span class="token comment"># &#x8BBE;&#x7F6E;&#x76EE;&#x5F55;&#x5C5E;&#x7EC4;&#x4E3A;&#x7EC4;ftpuser</span>
<span class="token function">chmod</span> <span class="token number">750</span> /home/ftpuser             <span class="token comment">#&#x8BBE;&#x7F6E;&#x76EE;&#x5F55;&#x8BBF;&#x95EE;&#x6743;&#x9650;ftpuser1&#x4E3A;&#x8BFB;&#xFF0C;&#x5199;&#xFF0C;&#x6267;&#x884C;&#xFF1B;ftpuser2&#xFF0C;ftpuser3&#x4E3A;&#x8BFB;&#xFF0C;&#x6267;&#x884C;`</span>
</code></pre>
<p>&#x8BF4;&#x660E;&#xFF1A;&#x7531;&#x4E8E;&#x672C;&#x5730;&#x7528;&#x6237;&#x767B;&#x5F55;FTP&#x670D;&#x52A1;&#x5668;&#x540E;&#x8FDB;&#x5165;&#x81EA;&#x5DF1;&#x4E3B;&#x76EE;&#x5F55;&#xFF0C;&#x800C;<code>ftpuser1</code>&#xFF0C;<code>ftpuser2</code>&#xFF0C; <code>ftpuser3</code>&#x5BF9;&#x4E3B;&#x76EE;&#x5F55;<code>/home/ftpuser</code>&#x5206;&#x914D;&#x7684;&#x6743;&#x9650;&#x4E0D;&#x540C;&#xFF0C;&#x6240;&#x4EE5;&#x901A;&#x8FC7;FTP&#x8BBF;&#x95EE;&#x7684;&#x6743;&#x9650;&#x4E5F;&#x4E0D;&#x540C;&#xFF0C;<code>ftpuser1</code>&#x8BBF;&#x95EE;&#x6743;&#x9650;&#x4E3A;&#xFF1A;<strong>&#x4E0A;&#x4F20;&#xFF0C;&#x4E0B;&#x8F7D;&#xFF0C;&#x5EFA;&#x76EE;&#x5F55;&#xFF1B;</strong><code>ftpuser2</code>&#xFF0C;<code>ftpuser3</code>&#x8BBF;&#x95EE;&#x6743;&#x9650;&#x4E3A;<strong>&#x4E0B;&#x8F7D;&#xFF0C;&#x6D4F;&#x89C8;&#xFF0C;&#x4E0D;&#x80FD;&#x5EFA;&#x76EE;&#x5F55;&#x548C;&#x4E0A;&#x4F20;</strong>&#x3002;&#x5B9E;&#x73B0;&#x4E86;&#x7FA4;&#x7EC4;&#x4E2D;&#x7528;&#x6237;&#x4E0D;&#x540C;&#x8BBF;&#x95EE;&#x7EA7;&#x522B;&#xFF0C;&#x52A0;&#x5F3A;&#x4E86;&#x5BF9;FTP&#x670D;&#x52A1;&#x5668;&#x7684;&#x5206;&#x7EA7;&#x5B89;&#x5168;&#x7BA1;&#x7406;&#x3002;</p>
<h2 id="&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;"><a name="&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;" class="anchor-navigation-ex-anchor" href="#&#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;"><i class="fa fa-link" aria-hidden="true"></i></a>3.7. &#x8FDE;&#x63A5;&#x8D85;&#x65F6;&#x8BBE;&#x5B9A;</h2>
<p>&#x914D;&#x7F6E;&#x7A7A;&#x95F2;&#x7684;&#x7528;&#x6237;&#x4F1A;&#x8BDD;&#x7684;&#x4E2D;&#x65AD;&#x65F6;&#x95F4;&#xFF1A;&#x5982;&#x4E0B;&#x914D;&#x7F6E;&#x5C06;&#x5728;&#x7528;&#x6237;&#x4F1A;&#x8BDD;&#x7A7A;&#x95F2;5&#x5206;&#x949F;&#x540E;&#x88AB;&#x4E2D;&#x65AD;&#xFF0C;&#x4EE5;&#x91CA;&#x653E;&#x670D;&#x52A1;&#x5668;&#x7684;&#x8D44;&#x6E90;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">Idle_session_timeout</span><span class="token operator">=</span><span class="token number">300</span>
</code></pre>
<p>&#x914D;&#x7F6E;&#x7A7A;&#x95F2;&#x7684;&#x6570;&#x636E;&#x8FDE;&#x63A5;&#x7684;&#x4E2D;&#x65AD;&#x65F6;&#x95F4;&#xFF1A;&#x5982;&#x4E0B;&#x914D;&#x7F6E;&#x5C06;&#x5728;&#x6570;&#x636E;&#x7A7A;&#x95F2;&#x8FDE;&#x63A5;1&#x5206;&#x949F;&#x540E;&#x88AB;&#x4E2D;&#x65AD;&#xFF0C;&#x540C;&#x6837;&#x4E5F;&#x662F;&#x4E3A;&#x4E86;&#x91CA;&#x653E;&#x670D;&#x52A1;&#x5668;&#x7684;&#x8D44;&#x6E90;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">Data_connection_timeout</span><span class="token operator">=</span><span class="token number">60</span>
</code></pre>
<p>&#x914D;&#x7F6E;&#x5BA2;&#x6237;&#x7AEF;&#x7A7A;&#x95F2;&#x65F6;&#x7684;&#x81EA;&#x52A8;&#x4E2D;&#x65AD;&#x548C;&#x6FC0;&#x6D3B;&#x8FDE;&#x63A5;&#x7684;&#x65F6;&#x95F4;&#xFF1A;&#x5982;&#x4E0B;&#x914D;&#x7F6E;&#x5C06;&#x4F7F;&#x5BA2;&#x6237;&#x7AEF;&#x7A7A;&#x95F2;1&#x5206;&#x949F;&#x540E;&#x81EA;&#x52A8;&#x4E2D;&#x65AD;&#x8FDE;&#x63A5;&#xFF0C;&#x5E76;&#x5728;30&#x79D2;&#x540E;&#x81EA;&#x52A8;&#x6FC0;&#x6D3B;&#x8FDE;&#x63A5;</p>
<pre class="language-"><code class="lang-bash"><span class="token assign-left variable">Accept_timeout</span><span class="token operator">=</span><span class="token number">60</span>
<span class="token assign-left variable">Connect_timeout</span><span class="token operator">=</span><span class="token number">30</span>
</code></pre>
<h2 id="&#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528;-pammysqlso-&#x6A21;&#x5757;&#x8BA4;&#x8BC1;"><a name="&#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528;-pammysqlso-&#x6A21;&#x5757;&#x8BA4;&#x8BC1;" class="anchor-navigation-ex-anchor" href="#&#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528;-pammysqlso-&#x6A21;&#x5757;&#x8BA4;&#x8BC1;"><i class="fa fa-link" aria-hidden="true"></i></a>3.8. &#x865A;&#x62DF;&#x7528;&#x6237;&#x4F7F;&#x7528; pam_mysql.so &#x6A21;&#x5757;&#x8BA4;&#x8BC1;</h2>
<ol>
<li>&#x521B;&#x5EFA;&#x7528;&#x6237;&#xFF0C;&#x5E76;&#x5EFA;&#x7ACB;&#x6570;&#x636E;&#x5E93;</li>
</ol>
<pre class="language-"><code class="lang-mysql"># &#x521B;&#x5EFA;&#x53EF;&#x7528;&#x7528;&#x6237;&#xFF0C;&#x6B64;&#x5904;&#x53EF;&#x4EE5;&#x53EA;&#x7ED9;&#x5176;&#x8BFB;&#x6743;&#x9650;
MariaDB [(none)]&gt; GRANT ALL ON vsftpd.* TO vsftpd@&apos;127.0.0.1&apos; IDENTIFIED BY &apos;vsftpd&apos;;
MariaDB [(none)]&gt; FLUSH PRIVILEGES;

# &#x5EFA;&#x7ACB;&#x6570;&#x636E;&#x5E93;
MariaDB [(none)]&gt; CREATE DATABASE vsftpd;
MariaDB [(none)]&gt; use vsftpd;
# &#x521B;&#x5EFA;&#x8D26;&#x53F7;&#x5BC6;&#x7801;&#x8868;
MariaDB [vsftpd]&gt; CREATE TABLE users(id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, password CHAR(48) NOT NULL,UNIQUE KEY(name));
# &#x6DFB;&#x52A0;&#x7528;&#x6237;&#x548C;&#x5BC6;&#x7801;
MariaDB [vsftpd]&gt; INSERT INTO users(name,password) VALUES (&apos;suofeiya&apos;,PASSWORD(&apos;suofeiya&apos;)),(&apos;test&apos;,PASSWORD(&apos;test&apos;)); 
# &#x67E5;&#x770B;&#x521B;&#x5EFA;&#x7ED3;&#x679C;
MariaDB [vsftpd]&gt; SELECT * FROM users;
+----+----------+-------------------------------------------+
| id | name     | password                                  |
+----+----------+-------------------------------------------+
|  1 | suofeiya | *46AE36A05192361576481222E6D5358109134F64 |
|  2 | test     | *94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29 |
+----+----------+-------------------------------------------+
</code></pre>
<ol>
<li>&#x4E3A;&#x865A;&#x62DF;&#x7528;&#x6237;&#x6DFB;&#x52A0;&#x5BB6;&#x76EE;&#x5F55;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token function">mkdir</span> -pv /data
<span class="token function">useradd</span> -d /data/ftpvuser ftpvuser
<span class="token comment"># &#x68C0;&#x67E5;&#x662F;&#x5426;&#x6210;&#x529F;&#x521B;&#x5EFA;&#x7528;&#x6237;</span>
finger ftpvuser
</code></pre>
<ol>
<li>&#x5B89;&#x88C5;&#x8BA4;&#x8BC1;&#x6240;&#x9700;&#x7684;<code>pam_mysql.so</code>&#x6A21;&#x5757;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token comment"># &#x5728;CentOS 6&#x4E0A;&#xFF0C;&#x76F4;&#x63A5;&#x5B89;&#x88C5;pam_mysql&#x5373;&#x53EF;</span>
yum <span class="token function">install</span> -u pam_mysql
* &#x9700;&#x8981;&#x6CE8;&#x610F;&#x7684;&#x4E00;&#x70B9;&#x662F;&#xFF1A;<span class="token variable"><span class="token variable">`</span>pam_mysql<span class="token variable">`</span></span>&#x5C5E;&#x4E8E;<span class="token variable"><span class="token variable">`</span>epel<span class="token variable">`</span></span>&#x4ED3;&#x5E93;&#xFF0C;&#x9700;&#x8981;&#x63D0;&#x524D;&#x5B89;&#x88C5;&#x597D;<span class="token variable"><span class="token variable">`</span>epel<span class="token variable">`</span></span>&#x4ED3;&#x5E93;

<span class="token comment"># &#x5728;CentOS 7&#x4E0A;&#xFF0C;&#x9700;&#x8981;&#x7F16;&#x8BD1;&#x5B89;&#x88C5;pam_mysql.so&#x6A21;&#x5757;</span>
<span class="token comment"># &#x6E90;&#x7801;&#x5305;&#x4E0B;&#x8F7D;&#x5730;&#x5740;&#xFF1A;https://sourceforge.net/projects/pam-mysql/</span>
<span class="token comment"># &#x9884;&#x5148;&#x51C6;&#x5907;</span>
 yum groupinstall <span class="token string">&quot;Development Tools&quot;</span> -y
yum groupinstall mysql-devel  pam-devel -y
<span class="token comment"># &#x7F16;&#x8BD1;&#x5E76;&#x5B89;&#x88C5;</span>
./configure --with-mysql<span class="token operator">=</span>/usr --with-pam<span class="token operator">=</span>/usr --with-pam-mods-dir<span class="token operator">=</span>/usr/lib64/security
<span class="token function">make</span><span class="token punctuation">;</span><span class="token function">make</span> <span class="token function">install</span>

<span class="token comment"># &#x68C0;&#x67E5;&#x662F;&#x5426;&#x6210;&#x529F;&#x5B89;&#x88C5;</span>
<span class="token function">ls</span> /usr/lib64/security/ <span class="token operator">|</span> <span class="token function">grep</span> pam_mysql.so
</code></pre>
<ol>
<li>&#x5EFA;&#x7ACB;pam&#x8BA4;&#x8BC1;&#x6240;&#x9700;&#x6587;&#x4EF6;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token function">vim</span> /etc/pam.d/vsftp.vuser
<span class="token comment">####</span>
auth required /lib64/security/pam_mysql.so <span class="token assign-left variable">user</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">passwd</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">host</span><span class="token operator">=</span><span class="token number">127.0</span>.0.1 <span class="token assign-left variable">db</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">table</span><span class="token operator">=</span>users <span class="token assign-left variable">usercolumn</span><span class="token operator">=</span>name <span class="token assign-left variable">passwdcolumn</span><span class="token operator">=</span>password <span class="token assign-left variable">crypt</span><span class="token operator">=</span><span class="token number">2</span>
account required /lib64/security/pam_mysql.so <span class="token assign-left variable">user</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">passwd</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">host</span><span class="token operator">=</span><span class="token number">127.0</span>.0.1  <span class="token assign-left variable">db</span><span class="token operator">=</span>vsftpd <span class="token assign-left variable">table</span><span class="token operator">=</span>users <span class="token assign-left variable">usercolumn</span><span class="token operator">=</span>name <span class="token assign-left variable">passwdcolumn</span><span class="token operator">=</span>password <span class="token assign-left variable">crypt</span><span class="token operator">=</span><span class="token number">2</span>
<span class="token comment">####</span>
</code></pre>
<ol>
<li>&#x4FEE;&#x6539;vsftp&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token function">vim</span> /etc/vsftpd/vsftpd.conf
<span class="token comment">####</span>
<span class="token assign-left variable">pam_service_name</span><span class="token operator">=</span>vsftpd
<span class="token comment"># &#x4FEE;&#x6539;&#x4E3A;  --&gt;</span>
<span class="token assign-left variable">pam_service_name</span><span class="token operator">=</span>vsftp.vuser

<span class="token comment">#&#x5176;&#x4ED6; &#x914D;&#x7F6E;</span>
<span class="token assign-left variable">guest_enable</span><span class="token operator">=</span>YES
<span class="token assign-left variable">guest_username</span><span class="token operator">=</span>ftpvuser
<span class="token comment">####</span>
</code></pre>
<ol>
<li>&#x4E3A;&#x865A;&#x62DF;&#x7528;&#x6237;&#x6DFB;&#x52A0;&#x6240;&#x9700;&#x6743;&#x9650;&#xFF08;&#x5BF9;&#x7528;&#x6237;&#x5355;&#x72EC;&#x914D;&#x7F6E;&#x6743;&#x9650;&#xFF09;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token comment"># &#x7F16;&#x8F91;vsftp&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x6DFB;&#x52A0;&#x4EE5;&#x4E0B;&#x5185;&#x5BB9;&#xFF0C;&#x8868;&#x793A;&#x7528;&#x6237;&#x914D;&#x7F6E;&#x76EE;&#x5F55;</span>
<span class="token comment">####</span>
<span class="token assign-left variable">user_config_dir</span><span class="token operator">=</span>/etc/vsftpd/vusers.d/
<span class="token comment">####</span>

<span class="token comment"># &#x521B;&#x5EFA;&#x76EE;&#x5F55;</span>
<span class="token function">mkdir</span> /etc/vsftpd/vusers.d/
<span class="token comment"># &#x521B;&#x5EFA;&#x4E0E;&#x7528;&#x6237;&#x540D;&#x540C;&#x540D;&#x7684;&#x914D;&#x7F6E;&#x6587;&#x4EF6;&#xFF0C;&#x4E3A;&#x7528;&#x6237;&#x6DFB;&#x52A0;&#x4E0A;&#x4F20;&#x548C;&#x521B;&#x5EFA;&#x76EE;&#x5F55;&#x6743;&#x9650;</span>
<span class="token function">vim</span> /etc/vsftpd/vusers.d/suofeiya
<span class="token comment">####</span>
<span class="token assign-left variable">anon_upload_enable</span><span class="token operator">=</span>YES
<span class="token assign-left variable">anon_mkdir_write_enable</span><span class="token operator">=</span>YES
<span class="token comment">####</span>

<span class="token comment"># &#x91CD;&#x542F;&#x670D;&#x52A1;&#x4F7F;&#x5176;&#x751F;&#x6548;</span>
systemctl restart vsftpd
</code></pre>
<p>&#x51FA;&#x73B0;&#x7684;&#x4E00;&#x4E9B;&#x5C0F;&#x95EE;&#x9898;&#xFF1A;</p>
<ol>
<li>&#x767B;&#x5F55;&#x88AB;&#x62D2;&#x7EDD;&#xFF0C;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token comment"># &#x53BB;&#x9664;&#x76EE;&#x5F55;&#x7684;&#x5199;&#x6743;&#x9650;</span>
<span class="token function">chmod</span> a-w /data/ftpvuser
</code></pre>
<ol>
<li>&#x4F7F;&#x7528;<code>ls</code>&#x547D;&#x4EE4;&#x51FA;&#x73B0;<code>226 Transfer done (but failed to open directory).</code>&#x65E0;&#x6CD5;&#x4F7F;&#x7528;&#x7B49;&#x95EE;&#x9898;&#xFF0C;&#x89E3;&#x51B3;&#x65B9;&#x6CD5;&#xFF1A;</li>
</ol>
<pre class="language-"><code class="lang-bash"><span class="token comment"># &#x4FEE;&#x6539;&#x5171;&#x4EAB;&#x6587;&#x4EF6;&#x5939;&#x7684;&#x5C5E;&#x7EC4;&#x5C5E;&#x7EC4;&#x5373;&#x53EF;</span>
<span class="token function">chown</span> ftpvuser:ftpvuser /data/ftpvuser/pub
</code></pre>
<footer class="page-footer"><span class="copyright">Copyright &#xA9; AGou 2020 all right reserved&#xFF0C;powered by Gitbook</span><span class="footer-modification">&#x8BE5;&#x6587;&#x4EF6;&#x4FEE;&#x8BA2;&#x65F6;&#x95F4;&#xFF1A;
2020-03-02 20:42:24
</span></footer>
                                
                                </section>
                            
    </div>
    <div class="search-results">
        <div class="has-results">
            
            <h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
            <ul class="search-results-list"></ul>
            
        </div>
        <div class="no-results">
            
            <h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
            
        </div>
    </div>
</div>

                        </div>
                    </div>
                
            </div>

            
                
                <a href="./" class="navigation navigation-prev " aria-label="Previous page: Linux文件系统">
                    <i class="fa fa-angle-left"></i>
                </a>
                
                
                <a href="SAMBA.html" class="navigation navigation-next " aria-label="Next page: SAMBA">
                    <i class="fa fa-angle-right"></i>
                </a>
                
            
        
    </div>

    <script>
        var gitbook = gitbook || [];
        gitbook.push(function() {
            gitbook.page.hasChanged({"page":{"title":"FTP","level":"1.5.1","depth":2,"next":{"title":"SAMBA","level":"1.5.2","depth":2,"path":"Linux_FileSystem/SAMBA.md","ref":"Linux_FileSystem/SAMBA.md","articles":[]},"previous":{"title":"Linux文件系统","level":"1.5","depth":1,"path":"Linux_FileSystem/README.md","ref":"Linux_FileSystem/README.md","articles":[{"title":"FTP","level":"1.5.1","depth":2,"path":"Linux_FileSystem/FTP.md","ref":"Linux_FileSystem/FTP.md","articles":[]},{"title":"SAMBA","level":"1.5.2","depth":2,"path":"Linux_FileSystem/SAMBA.md","ref":"Linux_FileSystem/SAMBA.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["github@^2.0.0","edit-link@^2.0.2","anchors@^0.7.1","include-codeblock@^3.0.2","tbfed-pagefooter@^0.0.1","expandable-chapters-small@^0.1.7","anchor-navigation-ex@0.1.8","prism","-highlight","insert-logo","-lunr","-search","search-pro","splitter","lightbox","github-buttons","-sharing","sharing-plus","donate","code","-klipse","livereload"],"root":".","styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"tbfed-pagefooter":{"copyright":"Copyright © AGou 2020","modify_label":"该文件修订时间：","modify_format":"YYYY-MM-DD HH:mm:ss"},"prism":{"css":["prismjs/themes/prism-tomorrow.css"]},"github":{"url":"https://github.com/AGou-ops"},"livereload":{},"splitter":{},"search-pro":{},"sharing-plus":{"qq":false,"all":["facebook","google","twitter","instapaper","linkedin","pocket","stumbleupon"],"douban":false,"facebook":true,"weibo":false,"instapaper":false,"whatsapp":false,"hatenaBookmark":false,"twitter":true,"messenger":false,"line":false,"vk":false,"pocket":true,"google":false,"viber":false,"stumbleupon":false,"qzone":false,"linkedin":false},"code":{"copyButtons":true},"donate":{"alipay":"https://agou-ops.github.io/images/alipay.png","alipayText":"支付宝打赏","button":"打赏","title":"","wechat":"https://agou-ops.github.io/images/wechatpay.png","wechatText":"微信打赏"},"fontsettings":{"theme":"white","family":"sans","size":2},"anchor-navigation-ex":{"isRewritePageTitle":true,"tocLevel1Icon":"fa fa-hand-o-right","tocLevel2Icon":"fa fa-hand-o-right","tocLevel3Icon":"fa fa-hand-o-right"},"lightbox":{"jquery":true,"sameUuid":false},"github-buttons":{"repo":"AGou-ops/myStudyNote","types":["star","watch","fork"],"size":"small"},"expandable-chapters-small":{},"include-codeblock":{"check":false,"edit":true,"fixlang":false,"lang":"","template":"ace","theme":"chrome","unindent":true},"sharing":{"qq":true,"all":["douban","facebook","google","hatenaBookmark","instapaper","linkedin","twitter","weibo","messenger","qq","qzone","viber","vk","weibo","pocket","stumbleupon","whatsapp"],"douban":false,"facebook":false,"weibo":true,"instapaper":false,"whatsapp":false,"hatenaBookmark":false,"twitter":false,"messenger":false,"line":false,"vk":false,"pocket":false,"google":false,"viber":false,"stumbleupon":false,"qzone":true,"linkedin":false},"edit-link":{"label":"Edit This Page","base":"https://github.com/AGou-ops/myStudyNote"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":true},"anchors":{},"insert-logo":{"style":"background: none; max-height: 50px; min-height: 50px","url":"https://s2.ax1x.com/2019/12/10/QBD0xO.jpg"}},"theme":"default","author":"AGou","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"AGou's StudyNote","language":"zh-hans","output.name":"site","links":{"sidebar":{"◆点击进入我的个人博客":"http://agou-ops.github.io"}},"gitbook":"3.2.3","description":"岂能尽如人意，但求无愧我心。"},"file":{"path":"Linux_FileSystem/FTP.md","mtime":"2020-03-02T12:42:24.292Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2020-03-02T12:42:32.383Z"},"basePath":"..","book":{"language":""}});
        });
    </script>
</div>

        
    <script src="../gitbook/gitbook.js"></script>
    <script src="../gitbook/theme.js"></script>
    
        
        <script src="../gitbook/gitbook-plugin-github/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-edit-link/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-expandable-chapters-small/expandable-chapters-small.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-insert-logo/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search-pro/jquery.mark.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-search-pro/search.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-splitter/splitter.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-lightbox/js/lightbox.min.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-github-buttons/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-sharing-plus/buttons.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-donate/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-code/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-livereload/plugin.js"></script>
        
    
        
        <script src="../gitbook/gitbook-plugin-fontsettings/fontsettings.js"></script>
        
    

    </body>
</html>

